import type {Brand, ListCategory} from '@/types/category'

export interface Good {
  // 商品id
  id?: string
  // 商品名称
  name?: string
  // 商品描述
  desc?: string
  // 商品封面图
  picture?: string
  // 商品价格
  price?: string
  // discount?: null
  // orderNum?: null
}

export interface GoodDetail {
  // 商品id
  id?: string
  // 商品名
  name?: string
  spuCode?: string
  // 商品描述
  desc?: string
  // 价格
  price?: string
  // 旧价格（划掉）
  oldPrice?: string
  discount?: number
  inventory?: number
  // 品牌
  brand?: Brand
  // 销量
  salesCount?: number
  // 评论人数
  commentCount?: number
  // 收藏人数
  collectCount?: number
  // 视频
  mainVideos?: string[]
  videoScale?: number
  // 图片
  mainPictures?: string[]
  // 规格，商品详情的可选择参数
  specs?: Spec[]
  skus?: Skus[]
  // 所属分类
  categories?: ListCategory[]
  // 详情
  details?: Details
  // 是否预售
  isPreSale?: boolean
  // 同类产品
  similarProducts?: Product[]
  // 24小时热销
  hotByDay?: Product[]
  // 是否已收藏
  isCollect?: null
  recommends?: null
  userAddresses?: null
  evaluationInfo?: null
}

export interface Details {
  pictures?: string[]
  properties?: Property[]
}

export interface Property {
  name?: string
  value?: string
}

export interface Product {
  id?: string
  name?: string
  desc?: string
  price?: string
  picture?: string
  discount?: null
  orderNum?: number
}

export interface Skus {
  id?: string
  skuCode?: string
  price?: string
  oldPrice?: string
  inventory?: number
  specsText?: string
  specs?: SkusSpec[]
}

export interface SkusSpec {
  name?: string
  valueName?: string
}

export interface Spec {
  name?: string;
  values?: SpecValue[];
}

export interface SpecValue {
  name?: string;
  picture?: string;
  desc?: string;
}

export interface ImgBottom {
  label: string
  value: string | number | void
  icon: string
  subLabel: string
  link: string
}

export enum HotType {
  hour24 = 1,
  week,
  total
}